A technology called OpenFlow is proposed in recent years (see Non Patent Literature (NPL) 1). OpenFlow is a technology that treats communication as an end-to-end flow, and performs path control and the like on a flow-by-flow basis. A network based on OpenFlow (hereafter referred to as an OpenFlow network) includes an OpenFlow controller (hereafter also referred to as an OFC) for performing path control and an OpenFlow switch (hereafter also referred to as an OFS) for forwarding a packet based on a path determined by the OpenFlow controller.
In OpenFlow, path information is represented by a flow entry that includes: a packet matching rule for associating a packet with a flow; and an action for designating an operation to be performed by the OpenFlow switch in the case of receiving the flow. The packet matching rule is expressed as a condition corresponding to field values of various headers in the packet. Examples of such field values of various headers include an Ethernet (registered trademark) header, an IP (Internet Protocol) header, a TCP (Transmission Control Protocol) header, and so on.
The condition designated as the packet matching rule may be a condition of being exactly equal to a specific value, or a condition of satisfying an arbitrary value or a specific condition (e.g. an IP address is included in a specific IP subnet). Meanwhile, examples of the action include outputting from a designated port, discarding, modifying a specific field in a header, and so on. Note that it is possible to designate a plurality of actions in one flow entry.
An outline (example) of a process of forwarding a packet in the OpenFlow network is shown below.
1. The OpenFlow switch receives the packet.
2. The OpenFlow switch searches a flow entry list (flow table) set in the OpenFlow switch, for a flow entry including a packet matching rule that matches the received packet.
3. In the case where the flow entry is found in the flow table, the OpenFlow switch applies an action of the flow entry to the received packet, and ends the process.
4. In the case where the flow entry is not found in the flow table, the OpenFlow switch sends the received packet to the OpenFlow controller.
5. The OpenFlow controller determines a path and a process for the received packet, and instructs the OpenFlow switch to add the flow entry.
A packet routing method that employs a VPN (Virtual Private Network) is described in Patent Literature (PTL) 1. In the method described in PTL 1, upon receipt of a packet including a VLAN (Virtual Local Area Network) tag that indicates where a terminal belongs to, the received packet is transmitted to a corresponding virtual hub based on the VLAN tag. Each virtual hub learns a relation between a source MAC (Media Access Control) address in a user MAC header of a received packet and a terminal-side virtual interface termination through which the packet has passed.
A packet forwarding device for collectively handling a plurality of flows is described in PTL 2. The packet forwarding device described in PTL 2 outputs a flow bundle identifier common to flows identified based on header information of an input packet, and performs predetermined arithmetic processing on the flow bundle identifier.
A network management device is described in PTL 3. The network management device described in PTL 3 stores link information indicating connection relations between nodes in a physical network and information of a logical network to which the link information belongs.